package cn.itcast.mq.config;

import org.springframework.amqp.core.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class CommonConfig {


    // 创建交换机
    @Bean
    public DirectExchange simpleExchange(){
        // 三个参数：交换机名称、是否持久化、当没有queue与其绑定时是否自动删除
        // return new DirectExchange("simple.direct", true, false);
        return new DirectExchange("simple.direct");
    }


    @Bean
    public Queue simpleQueue(){
        // 使用QueueBuilder构建队列，durable就是持久化的
        // return QueueBuilder.durable("simple.queue").build();
        return new Queue("simple.queue");
    }


    // 交换机队列绑定
    @Bean
    public Binding  simpleBinding(Queue simpleQueue,DirectExchange simpleExchange){
        return BindingBuilder.bind(simpleQueue).to(simpleExchange).with("simple");
    }
}
